package entities;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

import dtos.ArticuloDTO;

@Entity
@DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING)
@DiscriminatorValue("Moda")
public class Moda extends Articulo implements Serializable {
	
	
	private static final long serialVersionUID = 1L;
	@Column
	private String color;
	@Column
	private String talle;
	
	public Moda (){
		
	}
	public static Moda parseDTO(ArticuloDTO articulo){
		Moda m = new Moda();
		try{
			m.color = articulo.getColor();
			m.talle = articulo.getTalle();
			
			m.codigo = articulo.getCodigoArticulo();
			m.idModulo = articulo.getIdModulo();
			m.descripcion = articulo.getDescripcion();
			m.marca = articulo.getMarca();
			m.precio = articulo.getPrecio();
			m.foto = articulo.getFotoURL();
			m.nombre = articulo.getNombre();

			return m;
		}catch(Exception e){
			m.codigo = articulo.getCodigoArticulo();
			m.descripcion = "Null pointer exception en alguno de los atributos del DTO recibido";
			return m;
		}
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getTalle() {
		return talle;
	}

	public void setTalle(String talle) {
		this.talle = talle;
	}

	public ArticuloDTO getDTO(){
		ArticuloDTO modaDTO = this.instanciateDTO();
		modaDTO.setColor(color);
		modaDTO.setTalle(talle);
		modaDTO.setTipo("Moda");
		
		return modaDTO;
	}
}
